package com.beiben.trialproduce.samplecar.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.beiben.system.file.domain.File;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 样车对象 trial_produce_sample_car
 * 
 * @author 熊国强
 * @date 2020-11-18
 */
public class SampleCar extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long carId;

    /** 车辆型号 */
    @Excel(name = "零部件号(或材料编号或车辆型号)")
    private String carModel;

    /** VIN号 */
    @Excel(name = "零部件名称(或材料名称或VIN号)")
    private String vinNum;

    /** 车辆类型 */
    @Excel(name = "材料品号",readConverterExp = "0=牵引车-整车,1=牵引车-底盘,2=自卸车-整车,3=自卸车-底盘,4=载货车-整车,5=载货车-底盘,6=宽体车-整车,7=宽体车-底盘")
    private String carType;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String model;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String unitName;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal price;

    /** 现存状态描述 */
    @Excel(name = "现存状态描述")
    private String stateContent;

    /** 存放地点 */
    @Excel(name = "存放地点")
    private String storeAddress;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 钥匙号 */
    @Excel(name = "钥匙号")
    private String ysNum;

    /** 生产批次 */
    @Excel(name = "样车生产批次")
    private String productionBatch;

    /** 生产年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productionTime;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectNum;

    /** 负责人 */
    @Excel(name = "负责人")
    private String userName;

    /** 样车状态 */
    @Excel(name = "样车状态",readConverterExp = "0=完好,1=维修,2=禁用,3=处置")
    private Integer carState;

    /** 样车使用状态 */
    @Excel(name = "样车使用状态",readConverterExp = "0=空闲,1=占用")
    private Integer carUseState;

    /** 样车变更履历 */
    @Excel(name = "样车变更履历")
    private String record;

    /** 图片地址 */
    private List<File> file;

    /** 负责人 */
    private Long userId;

    public void setCarId(Long carId) 
    {
        this.carId = carId;
    }

    public Long getCarId() 
    {
        return carId;
    }
    public void setYsNum(String ysNum) 
    {
        this.ysNum = ysNum;
    }

    public String getYsNum() 
    {
        return ysNum;
    }
    public void setCarModel(String carModel) 
    {
        this.carModel = carModel;
    }

    public String getCarModel() 
    {
        return carModel;
    }
    public void setVinNum(String vinNum) 
    {
        this.vinNum = vinNum;
    }

    public String getVinNum() 
    {
        return vinNum;
    }
    public void setCarType(String carType) 
    {
        this.carType = carType;
    }

    public String getCarType() 
    {
        return carType;
    }
    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }
    public void setUnitName(String unitName) 
    {
        this.unitName = unitName;
    }

    public String getUnitName() 
    {
        return unitName;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setStateContent(String stateContent) 
    {
        this.stateContent = stateContent;
    }

    public String getStateContent() 
    {
        return stateContent;
    }
    public void setStoreAddress(String storeAddress) 
    {
        this.storeAddress = storeAddress;
    }

    public String getStoreAddress() 
    {
        return storeAddress;
    }
    public void setProductionBatch(String productionBatch) 
    {
        this.productionBatch = productionBatch;
    }

    public String getProductionBatch() 
    {
        return productionBatch;
    }
    public void setProductionTime(Date productionTime) 
    {
        this.productionTime = productionTime;
    }

    public Date getProductionTime() 
    {
        return productionTime;
    }
    public void setProjectNum(String projectNum) 
    {
        this.projectNum = projectNum;
    }

    public String getProjectNum() 
    {
        return projectNum;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setCarState(Integer carState) 
    {
        this.carState = carState;
    }

    public Integer getCarState() 
    {
        return carState;
    }
    public void setCarUseState(Integer carUseState) 
    {
        this.carUseState = carUseState;
    }

    public Integer getCarUseState() 
    {
        return carUseState;
    }

    public List<File> getFile() {
        return file;
    }

    public void setFile(List<File> file) {
        this.file = file;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }


    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getRecord() {
        return record;
    }

    public void setRecord(String record) {
        this.record = record;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("carId", getCarId())
            .append("ysNum", getYsNum())
            .append("carModel", getCarModel())
            .append("vinNum", getVinNum())
            .append("carType", getCarType())
            .append("model", getModel())
            .append("unitName", getUnitName())
            .append("price", getPrice())
            .append("stateContent", getStateContent())
            .append("storeAddress", getStoreAddress())
            .append("productionBatch", getProductionBatch())
            .append("productionTime", getProductionTime())
            .append("projectNum", getProjectNum())
            .append("userId", getUserId())
            .append("carState", getCarState())
            .append("carUseState", getCarUseState())
            .append("remark", getRemark())
            .toString();
    }
}
